A good answer might be:

No. Machine language can only be run on its its intended processor. Java bytecodes can only be run directly (ie. run without further effort) on a Java processor chip.

Java Virtual Machine

Now for the clever part: a Java bytecode interpreter executes the bytecode file. The Java bytecode interpreter is an executable program for whatever processor you computer system has. Here is a picture showing this:

The "Java interpreter" in the picture is an executable program that is running on the computer system. Each type of computer system has its own Java interpreter that can run on that system. The "Actual processor" is the actual, hardware, processor chip of that computer system.

(Another) Important Idea: The Java interpreter running on any computer system "looks like" the hardware Java processor chip. It is a Java Virtual Machine.

Any computer system can execute all Java bytecode programs if it has a Java interpreter. The Java interpreter has to be specifically written for the specific processor type of the computer system, but once that is done, the computer system can become a Java virtual machine. That is, it looks like a computer with a Java processor chip and can run Java bytecodes.

Remember that when a Java program is translated into bytecodes, the bytecodes are exactly the same no matter what computer system is used. This means the bytecodes on a Sun computer can be sent to an Intel based computer and they will run without a problem.

QUESTION 6:

Can bytecodes be sent from computer to computer over the Internet?